perm filename PAPERA.12[DOC,TOB] blob
sn#045951 filedate 1973-05-30 generic text, type T, neo UTF8
COMPUTER VISION
Thomas O. Binford, Stanford University
and
Jay M. Tenenbaum, Stanford Research Institute
Introduction
"Intelligent" computers require knowledge of their environment, and
the most effective means of acquiring such knowledge is by seeing.
Vision opens a new realm of computer applications. Weather analysis
from cloud maps and medical diagnosis from x-rays and blood cell
counts are two of many high volume data processing tasks that require
pictorial input. Man-machine communication will be facilitated if a
person can directly show the computer a real object, rather than
describe it symbolically. Designers, for example, could then easily
obtain a computerized structural analysis of scale models.
A particularly exciting area of application is industrial automation.
Today in industry there are hundreds of machines called industrial
robots. These programmable manipulators can repetitively execute a
precise sequence of motions, but have no sensors and are thus unable
to react dynamically to contingencies. Simple sensors and a
minicomputer could, at slight additional cost, turn these
manipulators into true robots. With primitive visual skills,machines
could align mating parts in assembly operations, increase reliability
by self-calibration, detect flaws, and avoid disasters. Vision will
also minimize the present need for precise positioning of parts at
each work station; parts could instead be transported in a bin and
picked out as needed.
The study of perception also provides valuable insights into human
and machine information processing. Many of the problems encountered
are fundamental to intelligent activity. For example, how is
knowledge represented? How does knowledge provide guidance in
drawing conclusions from perceptual data? How does existing
knowledge interact with conclusions drawn from an image to acheive
learning? Questions that arise in the implementation of vision
systems have broad relevance to computer science: How shoulc a
complex task be partitioned into modules? How should the modules
communicate to share their knowledge and special capabilities? How
should systems with highly interdependent modules be structured to
facilitate modification?
Techniques developed for machine perception cannot be taken literally
as models for biological systems because of differences in hardware
and gaps in our knowledge. However, fundamental limitations are
shared, suggesting that some of the principles might also be found in
nature. Computer vision research may, in turn, occasionally borrow
from biology, but we cannot copy nature, since again, the details are
not yet known and the hardware is different.
Historically, computer vision emerged from the study of two
dimensional pattern recognition. However, it is seldom possible to
apply the mathematical formalisms developed for classification to the
analysis of real scenes. Consider the visual requirements for an
organism such as a robot. It must manipulate or avoid objects, not
just classify them. Manipulation requires three-dimensional
interpretations and spatial relations of objects. In problems such
as character recognition, it was attractive to simply save images or
feature vectors, and then match against an image or part of an image.
But in real scenes, objects occlude one another, they have parts with
joints that move separately, there are many viewpoints, many possible
objects, and many combinations of objects. Object classes, moreover,
are often defined by function, not shape (e.g., the class of coffee
cups). Direct template matching techniques are impractical for
these requirements, except in very carefully controlled applications.
Perception involves complex deductions in order to understand an
image in terms of a priori knowledge of the world.
ELEMENTS OF A VISUAL SYSTEM
The computer eye is usually some form of TV camera with color filters
and a turret or zoom lens for closeup views. The computer
controls filters, lens and other parameters to optimize the image for
each task [1]. A recent study has suggested alternative sensors to
overcome the inadequate dynamic range of television systems [2].
Range information greatly simplifies the interpretation of scenes.
Humans use depth information obtained from stereo and a variety of
inferred cues such as motion parallax and the size of known objects.
Since these techniques require subtantial processing, it is easier
for machines to obtain depth by direct measurement. Several depth
sensors based on triangulation have been built [3, 4].
A TV image is read into memory as an array of brightness values
(typically 300x300) with 4 to 8 bits for each sample for each color.
Computer vision can be thought of as the process of transforming this
mass of numbers into a symbolic description. The translation process
can be subdivided into segmentation, representation, and
interpretation.
The process of segmentation partitions a scene into meaningful
entities that may be recognizable. Segmentation in character
recognition is simple, since printed characters are spatially
separated and have high contrast with white paper. It is harder to
segment objects in a real scene (even simple scenes) since objects
may overlap and will not usually be separable from the local
background by a single attribute like brightness contrast. Instead,
segmentation must proceed by seeking regions of uniform brightness,
color, or texture (itself a complex descriptor), or regions with
regular boundaries. Segmentation may also depend on inferred depth
cues (e.g., texture gradients or suspected occlusion).
In what form can we represent objects internally in the computer? The
simplest form is a pictorial template, an array of brightness values
to be matched directly against fragments of scenes by correlation.
Given the inadequacies of this representation, we must describe
partitioned regions symbolically in terms of extracted features such
as color, size, texture, and shape. These properties must be
inferred from the image by complex processes. Simple descriptors for
shape or texture may be used in simple tasks and limited context.
Shape might be described by the ratio of the squared perimeter to the
area of a region. More sophisticated shape representations, needed
for a wider range of tasks, are described later.
Interpretation is often expressed as computing a distance measure
between an object and a stored model. For simple cases that approach
can be useful. When objects are occluded, there must be a partial
match. When objects are not identical, judgments of similarity depend
on representation of shape and representation of the task, in order
to define important differences. The most useful approach is to
build up symbolic descriptions and make symbolic descriptions of
differences. Sometimes there are sufficiently few models that
matching with each model is possible. More generally, the observed
features must first be used to retrieve likely models from a large
visual memory.
The integration of segmentation, representation and interpretation to
achieve perception is illustrated by a system built at the University
of Edinburgh [5] that can recognize a small set of ordinary objects
such as pencils, eyeglasses and teacups. Objects are presented
against a contrasting background. Segmentation is achieved by
partitioning the scene into regions of uniform brightness. Objects
are represented by relational graphs detailing gross attributes
(e.g., size and shape) of their principal regions and pairwise
constraints between these regions (e.g., above, larger than).
Interpretation is accomplished by mapping the relational graph
descriptions of known objects onto the segmented regions obtained
from the scene, and seeking the best match.
Experience with early bottom-up systems of this type led to the
realization that the three basic processes of a perceptual system
were highly interdependent; one cannot proceed sequentially through
segmentation, representation, and interpretation and expect to obtain
a globally consistent interpretation for all objects in a scene. One
problem is that no reliable basis exists for judging the global
significance of segmentation boundaries using local similarity
criteria. Segmentation must be guided by interpretation to choose
among many alternative partitionings, the alternative that leads to a
globally consistent and reasonable description of the scene. A nice
exposition of these ideas is given by Minsky [6].
BLOCKS WORLD
To avoid some of these difficulties, research concentrated initially
on scenes of toy blocks. Roberts' [7] important work opened the
field. Objects were represented as built up of three primitive
parts, a block, a wedge, and a hexagonal prism. The program assumed
that it would first obtain perfect line drawings. Interpretation
meant choosing a stored three-dimensional model which, after
translation, rotation, and scaling, could be projected to match part
of the image. The recognized piece was then cut away and the
remainder considered. Primitives were represented by their vertices
in three dimensions. To decide on likely image points that belonged
to a single body, the program attempted to identify unobscured
polygons, and then match sets of vertices to topologically similar
model vertices. Line drawings were formed by a sequence of local
operations. Candidate edge points were considered by thresholding
the gradient of intensity. Isolated edge points were discarded.
Connected line fragments were concatenated into lines that were
segmented at corners by a sequential least squares line fit. Merging
of collinear lines bridged some gaps.
That system organization has proven inadequate. It is not enough to
use models and template matching. Producing perfect line drawings is
not practical. Some lines are missed; shadows, reflections and
surface markings cause extra lines; errors made at one stage are
compounded by later stages. These deficiencies motivated subsequent
research.
Guzman [8] found it possible to segment complex scenes into objects
without template matching, by observing that some vertices give local
evidence that adjacent regions belong to the same body. In Figure 1,
vertices A,B,C,E,G,H and I give evidence that adjacent regions belong
to the same body, while vertex F does not. Vertex D, which resembles
G, gives misleading evidence. To avoid such coincidences, the
program required confirmation. Regions linked twice were joined
into clusters; regions linked twice to a cluster were also joined.
Regions linked only to a single cluster were also joined to that
cluster. Eventually the program evolved to include inhibitions
against certain links by requiring similar conditions at both ends of
a line. Other links were introduced without much motivation.
This program was an important advance. Bodies could be segmented
without recognition and without explicit models. The program did
surprisingly well, but had problems with holes and other
non-convexities, and with accidental alignment. being told the
background. Guzman also could not cope well with imperfect line
drawings. For example, in the case of Figure 2 his program would fail
because a missing line makes region R3 common to both the block and
wedge. Falk [9] was able to avoid some of the errors associated with
missing boundaries by using an approach resembling Guzman's to link
line segments likely to belong to the same object instead of regions.
The limited generality of both these programs was due to the fact
that they were implemented as a collection of ad hoc heuristics for
segmentation with no explicit understanding of line drawings. Thus,
while Falk himself realized that regions like R3 were non-planer and
could not arise in a scene containing only trihedral solids, his
program could not reason at this level. Huffman [10] and Clowes [11]
made theoretical analyses of objects with only trihedral vertices
(three planes at each vertex). Using these analyses, edges could be
classified at each vertex as convex, concave and obscuring. Some
drawings could then be rejected as impossible if a given line was not
consistently labeled at each end. Waltz [12] expanded that labeling
of lines to include cracks and whether adjacent regions were shadowed
or illuminated. Since each vertex could have many interpretations. it
would seem that a search for consistent labelings would be
unmanageable. Instead, the increased precision of descriptions
allows rapid discarding of wrong interpretations. Not only are
solutions possible, they are quickly obtained. Instead of a complete
tree search, it was adequate to consider vertices in sequence,
eliminating inconsistent interpretations as each new vertex was
added. This produced all possible interpretations of a scene.
However, other criteria can then be used to choose the most
reasonable interpretation. A detailed survey of the work through
Huffman appears in a recent text by Duda and Hart [13].
The best performance in extracting line drawings from television
images of polyhedra is given by the Shirai [14] and the Binford-Horn
[15] line finders. Shirai's system performs better, but requires
large contrast between objects and background (e.g., white on black),
and finds only features and objects for which cues are available from
context. The Binford-Horn system is able to find most lines in a
scene of white blocks on a white background in arbitrary lighting. It
misses a few lines, which can usually be inferred from those that
were found, and garbles some vertices. The two systems are
complementary and should be combined.
The two programs are based on different principles. Shirai's program
first found the outer boundaries of an object or cluster of objects.
It then tried to guess additional lines that were parallel,
perpendicular, or extensions to lines already found. Search for
missing lines concentrated around vertices in the preliminary drawing
where they would be most likely found. The use of context involved
not changing thresholds, but using special-purpose operators--e.g.,
verify a line at known position and angle; find a line through a
vertex. Figure 3 illustrates the complexity of scenes handled by
Shirai's program. The Binford-Horn system was intended to provide the
base for a system such as Shirai's by providing a partial line
drawing without special assumptions about the scene. It used a local
directional edge operator and an optimal sequential decision process
to group the edge points into continuous curves.
It is interesting to compare these systems with biological ones. The
directional edge operators [16], which are scanned over the image,
are analogous to the edge-detector cells discovered by Heubel and
Wiesel[17] in higher animals. In practice, large brightness
gradients at reflections and on curved surfaces cause masses of
spurious edge fragments. Smooth gradients are eliminated by
subtracting the local average at each point, a process similar to
lateral inhibition in the retina of animals.
REAL-WORLD VISION
The blocks world illustrates many basic aspects of machine
perception. However, since many critical problems encountered in
perceiving real-world scenes do not arise in the blocks world, few of
the techniques developed extend to the real-world domain. For
example:
(1) The region-growing and edge-finding techniques developed for
uniformly painted blocks cannot cope with the textures and variations
of brightness that predominate in the real world.
(2) The precise topological descriptions that characterized simple
polyhedra are inappropriate or unobtainable for complex real world
objects such as trees.
(3) Interpretation by exhaustively matching all known prototypes
against each segmented body is not feasible with large numbers of
objects and cluttered scenes.
Description of simple polyhedral scenes was difficult enough; with
these added obstacles, is there hope for success in perceiving the
real world? Perception in the blocks world sought a complete
description of everything present. It may not be possible (or even
meaningful) to obtain exhaustive descriptions of real scenes.
However, complete descriptions are seldom needed; a system is
typically concerned with only a few objects required to complete a
specific task.
For blocks, we restricted our programs to black and white images and
distinguished structures of blocks solely on the basis of shape. In
the real world, there is a tremendous redundancy of visual cues. We
can use color, texture, depth, size, and surface orientation, as well
as shape, whichever distinguishes a particular object most
effectively.
Real-world objects are usually found in well defined contexts--e.g.,
telephones are expected on tables but not in waste baskets.
Recognition of a few prominent landmarks, combined with a priori
knowledge of the environment can thus severely restrict what objects
may be present in each part of the scene. While these objects may be
difficult to describe, there will usually be sufficient cues
available to discriminate easily among the alternatives. Often,
very gross descriptions of complex attributes such as shape will
suffice to discriminate among a limited number of grossly different
alternatives (e.g., a person can be distinguished from a dog simply
by the predominantly vertical orientation of a human body).
Real-world vision can be viewed as a strategy problem: Given a task,
first decide where to look for objects of interest and then decide
how to distinguish them from other objects that might also be
present. The system must limit interpretations to a small subset of
possible objects, selected on the basis of a priori expectations and
crude descriptions of the scene. Segmentation can be based on
attributes that are known to be uniform over these objects. The key
problems of information overload are overcome by tightly coordinating
segmentation and interpretation with world knowledge and task goals.
The overload problem cannot be solved by merely building faster
computers and bigger memories; hardware improvements will aid
adequate techniques but do little for exhaustive techniques.
The principal work to date on real world vision has concentrated on
segmentation and representation. Segmentation of textured scenes has
been studies as a two-dimensional problem for agricultural and earth
resource survey applications. Bajcsy [18] has analyzed outdoor
scenes with perspective, where three-dimensional texture descriptions
are important. Textures were described hierarchically in terms
of simpler texture elements and their spatial relationships.
Descriptors for texture elements and relations were derived from
Fourier analysis. Typical attributes were directionality (if any),
size, contrast, and spacing of texture elements. The Fourier
transform was found troublesome,however, and color descriptors were
added to improve performance. Some depth relations could be observed
from texture gradient. An attempt was made to obtain consistent
interpretations by first confirming region boundaries by independent
properties, making three-dimensional interpretations, and matching
region descriptors with those of sky, trees, grass, etc. in a world
model.
The quality of interpretation was limited by unreliability of
region-growing processes. Further work in outdoor scenes attempts to
incorporate the world model and interpretation into the region
growing process. Regions are merged not only because of similarity of
properties, but because the consistency of semantic interpretation is
improved.
Typical robot tasks such as manipulation, collision avoidance,
display, and recognition were analyzed to determine computational
primitives required for descriptions of shape. Although some would
disagree, our criteria for shape representation are [19]:
(1) Representations should be symbolic at a high level in order to
interface with knowledge of the problem domain.
(2) Representations should depend on segmentation into parts, which
may have sub-parts.
(3) Primitives should be three-dimensional volume descriptions,
rather than surface descriptions, to allow a natural choice of parts.
(4) Descriptions should be generative. A modest collection of
primitives should allow description of a vast set of objects.
We will outline one representation that fulfils these desiderata for
a large class of curved objects. Objects are described in terms of
components that are simple to describe, and the relationships of
these parts. A useful shape primitive for many curved objects is an
arbitrary space curve, and normal cross-sections along this axis
(Figure 4). Snake-like objects, helices, toroids, and locally
helical and toroidal shapes are naturally described [19]. Our basic
definition of a simple piece is that the direction of its axis be
continuous and that the cross-section function along that axis be
continuous. We look for large changes in the cross-section, and
consider them as likely places for segmenting the object. The
segmentation process must be flexible and able to generate
alternative propositions. A higher-level routine will ultimately
select from the alternatives. Figure 5 shows an experimentally
obtained computer description of a doll [3].
INDUSTRIAL APPLICATIONS
Recently, several laboratories have begun to apply techniques from
perception research to practical industrial tasks. Stanford
University has demonstrated simple assembly operations using vision
and touch. General Motors laboratories has succeeded in mounting a
wheel on an axle. Stanford Research Institute and Hitachi Ltd. have
each demonstrated systems that can distinguish sheet metal parts on a
moving conveyor belt and determine their orientation to enable
manipulation. Template-matching techniques were used to take
advantage of the two-dimensional nature of these tasks. Moreover, the
conveyor demonstrations relied on the contrast between shiny metallic
parts and the black belt to simplify segmentation. Many industrial
processes share similar constraints or can be readily redesigned to
do so. We thus expect a proliferation of industrial applications of
computer perception in the near future.